Modern computing devices have become ubiquitous tools for personal, business, and social uses. As such, many modern computing devices are capable of connecting to various data networks, including the Internet and corporate intranets, to retrieve and transmit/receive data communications over such networks. To facilitate communications between computing devices, networks typically include one or more network devices (e.g., a network switch, a network router, etc.) to route communications from one computing device to another.
Software-defined networking (SDN) is one such networking architecture that may be used to facilitate communications (i.e., the flow of network packets) across the network. In a software-defined network, an externally located SDN controller is connected to network switching/routing devices to make the network traffic flow logic decisions for the network packets across the network, a task traditionally performed at the network device level. As such, network packet processing (e.g., network traffic flow logic) previously performed on dedicated network processors of the network devices may now be processed on general purpose processors, thereby reducing the complexity of the hardware components necessary for network devices deployed in a software-defined network and enabling deployment of new software-based features independently of hardware release cycle. Additionally, software-defined networks allow network infrastructures to become larger in scale than traditional networks, which may result in an increase of data relating to the network traffic flow logic that must be managed by each network device of the network. Network functions virtualization (NFV) is another network architecture concept for virtualizing network device functions using traditional server virtualization techniques (e.g., virtual machines, or VMs), thereby enabling the processing of network traffic on general purpose processors. When NFV and SDN infrastructures are combined, the network can be further increased in size, thereby further increasing the volume of network traffic flow logic that must be managed by each network device of the network.